package cn.jsj.invite.service;

import cn.jsj.invite.pojo.InvitationInfo;
import cn.jsj.invite.pojo.StudentEnt;
import cn.jsj.invite.pojo.identity.UserIdentityEnum;

import java.util.List;


public interface StudentService {
    /**
     * 学生的注册功能，需要管理员进行审核
     *
     * @param studentEnt
     * @return 1:成功 0：失败
     */
    Integer registerStudent(StudentEnt studentEnt);

    /**
     * 修改学生信息
     *
     * @param studentEnt   学生信息
     * @param updateId     请求者ID
     * @param identityType 请求者身份 1学校管理员2学生本人
     * @return 1：修改成功  0：失败
     */
    Integer updateOneStudentInfo(StudentEnt studentEnt, Long updateId, UserIdentityEnum identityType);

    /**
     * 学生删除帖子
     *
     * @param id        帖子id
     * @param studentId 学生id
     * @return
     */
    Integer deleteStudentPageById(int id, int studentId);

    /**
     * 学生修改个人密码
     *
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @param id          学生id
     * @return
     */
    Integer updateStudentPwdByIdAndOldPwd(String oldPassword, String newPassword, int id);

    /**
     * 根据学生ID查看发过的帖子
     *
     * @param stuId 学生ID
     * @return 帖子信息集合
     */
    List<InvitationInfo> listInvitationInfoByStudentId(Integer stuId);

    /**
     * 学生隐私开关，默认不开
     *
     * @param studentId 学生ID
     * @param isOpen    开关状态
     * @return 成功1，否则0
     */
    Integer studentPrivacySwitch(Integer studentId, Integer isOpen);

}
